for _ in range(int(input())):
n = int(input())
x = list(map(int,input().split()))
y = list(map(int,input().split()))
t = []
for i in range(n):
t.append(y[i]-x[i])
t.sort()
teams = 0
l = 0
r = n-1
while l<r:
if t[r] + t[l] >=0:
teams += 1
r -= 1
l += 1
print(teams)
#include <bits/stdc++.h>
#include <math.h>
#include <string.h>
#include <iomanip>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
#define pii pair<int, int>
#define rep(i, a, b) for (int i = a; i < b; i++)
#define rfor(i,a,b) for(int i=a; i>=b; i--)
#define in(a) int a; cin >> a;
#define ins(a) string a; cin >> a;
#define lin(a) long long a; cin>>a;
#define din(a) long double a; cin>>a;
#define out(a) cout<<a<<"\n";
#define arr(a,n) int a[n] = {}; rep(i,0,n) cin>>a[i];
#define ll long long
#define vec(v,n) vector<ll> v(n); rep(i,0,n) cin>>v[i];
#define all(a) a.begin(),a.end()
#define lite ios_base::sync_with_stdio(false); cin.tie(NULL);
#define ordered_set tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>
#define ld long double
#define tc int t;cin>>t; while(t--)
#define mod 100000+7
void solve()
{
lin(n);
vec(x,n);
vec(y,n);
vector<int> ne,p,z;
rep(i,0,n){
int t=y[i]-x[i];
if(t>0)
p.push_back(t);
else if(t<0)
ne.push_back(t);
else
z.push_back(t);
}
sort(all(p));
sort(all(ne));
ll ans=0;
if(p.size()==0){
cout<<z.size()/2<<endl;
return;
}
if(ne.size()==0){
cout<<(p.size()+z.size())/2<<endl;
return;
}
// ans+=t;
int i=0,j=ne.size()-1;
int b=0;
while(i<p.size() && j>=0){
if(-1*ne[j]<=p[i]){
i++;
j--;
ans++;
}
else{
b++;
i++;
}
}
ans += ((b + (p.size() - i)+ z.size()) / 2);
cout<<ans<<endl;
return;
}
int main()
{
lite;
tc
solve();
return 0;
}
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |
232. Implement Queue using Stacks | 844. Backspace String Compare |
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |